package org.acm.seguin.tools.build; import java.io.FileWriter; import java.io.IOException; import java.io.PrintWriter; import java.util.StringTokenizer; /** * Creates a JRefactoryVersion object from a command line string * specifying the version. * *@author Chris Seguin */ public class CreateVersion { private String major; private String minor; private String build; private String output; /** * Constructor for the CreateVersion object * *@param input the command line argument */ public CreateVersion(String input, String output) { StringTokenizer tok = new StringTokenizer(input, "."); major = tok.nextToken(); minor = tok.nextToken(); build = tok.nextToken(); this.output = output; } /** * Main processing method for the CreateVersion object */ public void run() { try { PrintWriter printer = new PrintWriter(new FileWriter(output)); printer.println("package org.acm.seguin;"); printer.println(""); printer.println("/**"); printer.println(" * The current version of JRefactory"); printer.println(" *"); printer.println(" *@author Chris Seguin"); printer.println(" */"); printer.println("public class JRefactoryVersion {"); printer.println(" /**"); printer.println(" * Gets the MajorVersion attribute of the JRefactoryVersion object"); printer.println(" *"); printer.println(" *@return The MajorVersion value"); printer.println(" */"); printer.println(" public int getMajorVersion() {"); printer.println(" return " + major + ";"); printer.println(" }"); printer.println(""); printer.println(""); printer.println(" /**"); printer.println(" * Gets the MinorVersion attribute of the JRefactoryVersion object"); printer.println(" *"); printer.println(" *@return The MinorVersion value"); printer.println(" */"); printer.println(" public int getMinorVersion() {"); printer.println(" return " + minor + ";"); printer.println(" }"); printer.println(""); printer.println(""); printer.println(" /**"); printer.println(" * Gets the Build attribute of the JRefactoryVersion object"); printer.println(" *"); printer.println(" *@return The Build value"); printer.println(" */"); printer.println(" public int getBuild() {"); printer.println(" return " + build + ";"); printer.println(" }"); printer.println(""); printer.println(""); printer.println(" /**"); printer.println(" * Converts the JRefactoryVersion to a string"); printer.println(" *"); printer.println(" *@return a string representing the version"); printer.println(" */"); printer.println(" public String toString() {"); printer.println(" StringBuffer buffer = new StringBuffer();"); printer.println(""); printer.println(" buffer.append(getMajorVersion());"); printer.println(" buffer.append('.');"); printer.println(""); printer.println(" buffer.append(getMinorVersion());"); printer.println(" buffer.append('.');"); printer.println(""); printer.println(" buffer.append(getBuild());"); printer.println(""); printer.println(" return buffer.toString();"); printer.println(" }"); printer.println(""); printer.println(" public static void main(String[] args) {"); printer.println(" System.out.println(\"Version: \" + (new JRefactoryVersion()).toString());"); printer.println(" }"); printer.println("}"); printer.flush(); printer.close(); } catch (IOException ioe) { ioe.printStackTrace(); } } /** * The main program for the CreateVersion class * *@param args The command line arguments */ public static void main(String[] args) { CreateVersion cv = new CreateVersion(args[0], args[1]); cv.run(); } }